package Socket;

import DataBase.FuncDAO;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;

public class Servidor1 {

    private ServerSocket servidor = null;
    private Socket socket = null;
    private DataInputStream leitura;
    private DataOutputStream escrita;
    private String[] login = new String[15];

    public void executar() throws IOException, EOFException, Exception {



        servidor = new ServerSocket(3500, 50);
        System.out.println(" Aguardando Dados");
        while (true) {
            socket = servidor.accept();
            leitura = new DataInputStream(socket.getInputStream());
            escrita = new DataOutputStream(socket.getOutputStream());


            String dados = (String) leitura.readUTF();

            login = dados.split(",");


            switch (Integer.parseInt(login[0])) {
                case 1:
                    fazerLogin();
                    System.out.println(" Login Efetuado !");
                    break;
                case 2: 
                    ObterPedido();break;
            }


            System.out.println(" Aguardando Dados ");
        }


    }

    private void ObterPedido() throws IOException{
        for (int i = 0; i < login.length ; i++) {
           if(i==1){
                System.out.println("Garçom " + login[i]);
           }
            if(i==2){
                System.out.println("Mesa " + login[i]);
            }
          if(i>=3 & i%2==1){
              System.out.println("Produto "+login[i]);
          }
          if(i>=3 & i%2==0){
              System.out.println("Quantidade "+login[i]);               
        }
        }
         boolean retorno = true;
             escrita.writeBoolean(retorno); 
    }

    private void fazerLogin() throws IOException {
        FuncDAO fd = new FuncDAO();
        boolean retorno = fd.logar(login[1], login[2]);
        escrita.writeBoolean(retorno);

    }

    public static void main(String[] args) throws IOException, EOFException, Exception {
        Servidor1 s = new Servidor1();
        s.executar();
    }
}
